package com.blast.comicsisland.utils;

import android.content.Context;
import android.graphics.Bitmap;
import android.util.LruCache;
import android.widget.ImageView;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;

/**
 * author : hg
 * email: 530157892@qq.com
 * 15/6/10.
 */
public class ImageLoaderUtil {

    private static RequestQueue queue;

    private static ImageLoaderUtil imageLoaderUtil;
    private ImageLoader imageLoader;
    private Bitmap bitmap;

    private ImageLoaderUtil(){

    }

    public static void initRequestQueue(Context context){
        queue = Volley.newRequestQueue(context);
    }

    public static ImageLoaderUtil getInstance(){
        if (imageLoaderUtil == null) {
            imageLoaderUtil = new ImageLoaderUtil();
        }
        return imageLoaderUtil;
    }

    private void newImageLoader(){
        if (imageLoader == null){
            imageLoader = new ImageLoader(queue, new ImageLoader.ImageCache() {

                private LruCache<String ,Bitmap> lruCache = new LruCache<>(20);

                @Override
                public Bitmap getBitmap(String url) {
                    return lruCache.get(url);
                }

                @Override
                public void putBitmap(String url, Bitmap bitmap) {
                    lruCache.put(url,bitmap);
                }
            });
        }
    }

    public void imageLoad(String url,ImageView imageView,int defaultImageId ,int errorImageId){

        newImageLoader();

        imageLoader.get(url,
                ImageLoader.getImageListener(imageView, defaultImageId, errorImageId)
        );

    }

    public static RequestQueue getQueue() {
        return queue;
    }

    public ImageLoader getImageLoader() {
        newImageLoader();
        return imageLoader;
    }

}
